import Vue from 'vue';
import Vuex from 'vuex';
import getters from './getters';
import app from './modules/app';
import settings from './modules/settings';
import user from './modules/user';
import permission from './modules/permission';

Vue.use(Vuex);

const store = new Vuex.Store({
  modules: {
    app: app,
    settings: settings,
    user: user,
    permission: permission,
  },
  getters,
  state: {
    count: localStorage.count,
  },
  mutations: {
    saveCountM(state, count) {
      state.count = count;
      localStorage.count = count;
    },
  },
  actions: {
    saveCountA(context, count) {
      console.log('触发action');
      // action触发mutation
      context.commit('saveCountM', count);
    },
  },
});

export default store;
